package solitaire.controle;

import solitaire.application.DoubleTas;
import solitaire.application.Tas;
import solitaire.application.Usine;

/**
 * Usine de cr&eacute;ation des controlleurs.
 * 
 * @author Andr&eacute; Simon, J&eacute;r&eacute;my Brault
 */
public class CUsine extends Usine {

	@Override
	public CCarte newCarte(int valeur, int couleur) {
		return new CCarte(valeur, couleur);
	}

	@Override
	public CColonne newColonne(String nom, Usine usine) {
		return new CColonne(nom, (CUsine)usine);
	}

	@Override
	public DoubleTas newDoubleTas(Tas arg0, Tas arg1) {
		return super.newDoubleTas(arg0, arg1);
	}

	@Override
	public CSabot newSabot(String nom, Usine usine) {
		return new CSabot(nom, (CUsine)usine);
	}

	@Override
	public CSolitaire newSolitaire(String nom, Usine usine) {
		return new CSolitaire(nom, (CUsine)usine);
	}

	@Override
	public CTasDeCartes newTasDeCartes(String nom, Usine usine) {
		return new CTasDeCartes(nom, (CUsine)usine);
	}

	@Override
	public CTasDeCartesAlternees newTasDeCartesAlternees(String nom, Usine usine) {
		return new CTasDeCartesAlternees(nom, (CUsine)usine);
	}

	@Override
	public CTasDeCartesColorees newTasDeCartesColorees(String nom, int couleur, Usine usine) {
		return new CTasDeCartesColorees(nom, couleur, (CUsine)usine);
	}

}
